Chức năng đặc biệt trên các hàm trong C++ Cú pháp ngôn ngữ C++

friend

Hàm bạn không phải là hàm thành viên của lớp nhưng có thể thay đổi giá trị thành viên của lớp. Thí dụ:

class A {friend void change(A &a)private:int b;};void change(A &a) { a. b++; } // thay đổi thành viên b trong lớp A
===

Nạp chồng hàm (function overloading)

Trong C++ có thể định nghĩa nhiều hàm trùng tên nhau, nhưng những hàm này phải có parameter khác nhau.

Thí dụ:

// Hàm này nhận 1 tham số là: "ia"int ham (int ia){    return ia; }//=====================================================// Hàm này cùng tên với hàm trên và nhận 2 tham số là: "ia" và "ib"int ham (int ia, int ib){    return ia + ib;}

Nạp chồng toán tử (operator overloading)

Nạp chồng toán tử cho phép định nghĩa lại một toán tử (thí dụ định nghĩa lại +, -, *, /, vân vân) cho một type định nghĩa bởi người dùng.

Thí dụ:

// hàm này định nghĩa lại toán tử * cho lớp PhanSoPhanSo operator*(const PhanSo &a, const PhanSo &b) {PhanSo c;c. tu_so = a. tu_so * b. tu_so; // nhân tử số với nhauc. mau_so = a. mau_so * b. mau_so; // nhân mẫu số với nhaureturn c;}